前幾篇都在講統計的部分,
接下來我會開始討論一些機器學習與人相關的議題。
(寫一寫覺得我應該要去參加隔壁組AI/資料科學的鐵人賽,
而不是軟體開發啊XD)
但要討論機器學習與人的議題,
還是先從機器學習的基本概念開始談起。
上一篇提到模型的概念,
模型基本上就是一個目標的縮影,
而模型的好壞會影響從模型得到的推論,
與原本的目標的貼切程度。
在機器學習中,我們可以用機器學習學出一個模型,
再把它拿去做相關的應用。
比如說我們可以建立一個機器學習的模型,
拿過往的信用卡持有者的各種屬性(像是收入、職業、年紀等等),
與有沒有欠卡債的事實,
來推出一個模型去描述有沒有欠卡債跟這些屬性之間的關聯性。
接著如果有新的人來申請信用卡,
我們可以拿這個模型去推斷這個人可能欠卡債的機率為何。
在機器學習的術語中,
這些屬性稱為「特徵值(feature)」,
而有沒有欠卡債的事實則是「標籤(label)」
模型的基本結構是他的「模型設計(Model Design)」
或「模型架構(Model Archetechture)」。
如果一個模型是用來判斷「有」或「沒有」,
這種類別性的結果,
那這種機器學習的問題就叫做「分類(Classification)」,
如果是要預測目標值,
那就是「迴歸(Regression)」。
分類跟迴歸其實是類似的問題,
因為分類基本的作法還是類似迴歸,
但我們會找出一個分類的決策邊界(Decision Boundary),
如果在邊界的一邊就是一個類別,
另一邊就是另一個類別。
比如說我們上面卡債的問題,
我們的目標可能實際上算的是一個分數,
超過一個分數就說是可能會欠卡債,
沒有的話就說是不會欠卡債。
如果像上面這樣,
是拿以前的資料且知道以前的資料的事實(Ground Truth),
那麼這就是一個「監督式學習(Supervised Learning)」。
如果我們不知道事實,也可以做學習,
這種學習稱之為「非監督式學習(Unsupervised Learning)」
而我們在做機器學習的「資料集(dataset)」,
如果在監督式學習的情況下,
通常會分成「訓練集(Training Set)」與
「測試集(Testing Set)」。
更仔細一點,訓練集也可以再分出「評估集(Evaluation Set)」。
實務上訓練集:評估集:測試集的比例,
通常是80%:10%:10%,
而他們之間要完全獨立,不可重複。
在實際上開發的時候,
我們會拿訓練集去給模型學習,
然後去看看評估集的結果,
只有在評估集的結果夠好的時候,
我們才會去看實際上測試集的結果是如何。
這種分集的方式,目的是希望透過這種方式,
讓機器學出的模型,
可以不要過度專注在已知的資料上,
畢竟實際上去應用的時候,
不會是已經看過的資料。
如果說一個模型在訓練集上表現得很好,
在評估集或是測試集表現得很差,
那他可能就是「過度配合(Overfitting)」訓練集。
機器學習這種邏輯推演的模式,
是大家比較少知道的「溯因推理(Abductive Reasoning)」,
也就是我們從看到的結果中,去猜出一個原因,
然後去找實際上的案例來證明這個原因是成立的。
但如果大家還記得的話,我們在提到相關的時候,
有說,相關關係並不能夠保證因果關係。
這件事情在迴歸上也是成立的。
即使我們可以用X1, X2, X3...來預測Y,
我們也不能說X1, X2, X3...是Y的原因。
而立足在這個基礎之上的機器學習,
也是如此的。
即使我們可以用機器學習,
成功地去預測一個人的行為,
我們也不能說那些特徵值是造成目標行為的原因。
但就如同我前面提到的車險的例子,
當我們開始把這樣的模型帶入現實世界的時候,
我們很有可能會把原本只是相關的關係,
漸漸當成是因果關係。
在車險的例子中,
我因為讀好學校,所以我開車出事的風險較低,
我的保費可以打折。
這件事情會被推廣成,好學校的學生開車就比較不會出事,
彷彿學校的好壞會影響一個人是不是開車會出事。
但實際上可能是因為保費沒有打折,
所以讀比較不好學校的學生可能負擔不起好一點的車,
因此只能開比較差的車,就容易出事。
這只是一種可能的問題,其他的問題還有像是說,
今天如果我們拿來學習的資料,跟實際上應用的對象族群差很多,
就會變成說模型的判斷可能是充滿偏誤的。
而當我們為了要獲得模型決策出來的東西時,
可能就必須要改變自己的行為去迎合模型的判斷方式。
例如說,在美國,信用卡還有欠債是很普及的,
存錢的概念在美國並不是非常盛行,
信用卡的錢不是每個月都繳清的行為也很常見。
因此美國人很多人都以卡養卡,擁有的卡片數量可能非常的多。
但作為台灣人,我的生活是以現金為主,
所以我並沒有使用信用卡的習慣,
而且不管我辦了幾張信用卡,我都不會欠錢不還,
但因為如果我一直都只有一張卡,那我的信用分數可能會上不去。
所以我就得為了這個分數,去改變我的習慣。
這些是一些簡單的例子,在接下來的文章裡,
我會再討論更多與人有關的議題~